﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using DADOS.auxiliares;
using DADOS.usuario;

namespace PROAD.atendimento.Relatorio
{
    public partial class RelAnamnese : System.Web.UI.Page
    {
        DADOS.auxiliares.metMedicamentos metMed = new metMedicamentos();
        DADOS.usuario.metAnamnese metAna = new metAnamnese();

        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {

                if (Session["CO_USUARIO"] != null)
                {
                    lblUsurario.Text = "Nome do Paciente: " + Session["NO_NOME"];

                    hdfCodUsuario.Value = Session["CO_USUARIO"].ToString();

                    var objAnamnese = metAna.SelecionarAnamnese(Convert.ToInt32(hdfCodUsuario.Value));

                    if (objAnamnese != null)
                    {
                        hdfCodAnamnese.Value = objAnamnese.CO_ANAMNESE.ToString();
                        CarregarForm(objAnamnese);
                        
                    }
                    
                }
                else
                {
                    Response.Redirect("/atendimento/Consulta/ConsultaUsuarioParaAtm.aspx");
                }
            }
        }

        protected void rtsDadoPaciente_TabClick(object sender, Telerik.Web.UI.RadTabStripEventArgs e)
        {
            switch (e.Tab.TabIndex)
            {
                case 0: Response.Redirect("/atendimento/Relatorio/RelDadosPaciente.aspx");
                    break;
                case 1: Response.Redirect("/atendimento/Relatorio/RelAnamnese.aspx");
                    break;
                case 2: Response.Redirect("/atendimento/Relatorio/RelAvd.aspx");
                    break;
                case 3: Response.Redirect("/atendimento/Relatorio/RelSocioEconomico.aspx");
                    break;
                case 4: Response.Redirect("/atendimento/Relatorio/RelClassificacaoFinal.aspx");
                    break;
                case 5: Response.Redirect("/atendimento/Relatorio/RelGestaoCuidados.aspx");
                    break;
            }
        }

        protected void CarregarMedicamento()
        {
            var list = metMed.ListaMedUsuario(Convert.ToInt32(Request.QueryString["CodUser"]));
            gridMedicamentos.DataSource = list;
            gridMedicamentos.DataBind();
        }

        protected void CarregarForm(DADOS.TB_ANAMNESE objAnamnese)
        {

            lblSaude.Text = objAnamnese.NR_QUESTAO_1 == 1 ? "Sim" : "Não";

            if (objAnamnese.NR_QUESTAO_1 == 1)
            {
                pnlDoenca.Visible = true;
            }

            if (objAnamnese.NR_QUESTAO_1_HAS == 1) lblSaudeTipo.Text = "HAS. ";
            if (objAnamnese.NR_QUESTAO_1_DM == 1) lblSaudeTipo.Text += " DM Tipo II. ";
            if (objAnamnese.NR_QUESTAO_1_AVE == 1) lblSaudeTipo.Text += " AVE. ";
            if (objAnamnese.NR_QUESTAO_1_ALZHEIMER == 1) lblSaudeTipo.Text += " Alzheimer. ";
            if (objAnamnese.NR_QUESTAO_1_NEOPLASIAS == 1) lblSaudeTipo.Text += " Neoplasias. ";
            if (objAnamnese.NR_QUESTAO_1_ARTROSES == 1) lblSaudeTipo.Text += " Artorses. ";
            if (objAnamnese.NR_QUESTAO_1_OUTROS == 1) lblSaudeTipo.Text += objAnamnese.NR_QUESTAO_1_1_OUTROS + ".";
            switch (objAnamnese.NR_QUESTAO_2)
            {
                case 1:  lblFumante.Text = "Não";
                    break;
                case 2: lblFumante.Text = "Sim";
                    break;
                case 3: lblFumante.Text = "Não Avaliado";
                    break;
            }
            
            lblQueixas.Text = objAnamnese.NR_QUESTAO_3;

            lblMedicamento.Text = objAnamnese.NR_QUESTAO_4 == 1 ? "" : "Não";

            if (objAnamnese.NR_QUESTAO_4 == 1)
            {
                CarregarMedicamento();
            }

            switch (objAnamnese.NR_HAB_1)
            {
                case 1:
                    lblConsciencia.Text = "Consciente/alerta";
                    break;
                case 2:
                    lblConsciencia.Text = "Confuso";
                    break;
                case 3:
                    lblConsciencia.Text = "Sonolento";
                    break;
                case 4:
                    lblConsciencia.Text = "Torporoso";
                    break;
                case 5:
                    lblConsciencia.Text = "Não Avaliado";
                    break;
            }

            switch (objAnamnese.NR_HAB_2)
            {
                case 1:
                    lblEmocional.Text = "Calmo";
                    break;
                case 2:
                    lblEmocional.Text = "Agitado";
                    break;
                case 3:
                    lblEmocional.Text = "Alegre";
                    break;
                case 4:
                    lblEmocional.Text = "Triste";
                    break;
                case 5:
                    lblEmocional.Text = "Não se aplica";
                    break;
                case 6:
                    lblEmocional.Text = "Não Avaliado";
                    break;
            }

            switch (objAnamnese.NR_HAB_3)
            {
                case 1:
                    lblComunicacao.Text = "Conversa normalmente";
                    break;
                case 2:
                    lblComunicacao.Text = "Dificuldade de falar/expressar-se";
                    break;
                case 3:
                    lblComunicacao.Text = "Esquece o que está falando";
                    break;
                case 4:
                    lblComunicacao.Text = "Não fala";
                    break;
                case 5:
                    lblComunicacao.Text = "Não Avaliado";
                    break;
            }


            lblAparenciaGeral.Text = objAnamnese.NR_HAB_4_1 == 1 ? "Anictérico. " : "";
            lblAparenciaGeral.Text += objAnamnese.NR_HAB_4_2 == 1 ? "Corado. " : "";
            lblAparenciaGeral.Text += objAnamnese.NR_HAB_4_3 == 1 ? "Acianótico. " : "";
            lblAparenciaGeral.Text += objAnamnese.NR_HAB_4_4 == 1 ? "Ictérico. " : "";
            lblAparenciaGeral.Text += objAnamnese.NR_HAB_4_5 == 1 ? "Hipocorado. " : "";
            lblAparenciaGeral.Text += objAnamnese.NR_HAB_4_6 == 1 ? "Cianótico. " : "";

            switch (objAnamnese.NR_HAB_5)
            {
                case 1:
                    lblDorDiaDia.Text = "Nunca";
                    break;
                case 2:
                    lblDorDiaDia.Text = "Raramente";
                    break;
                case 3:
                    lblDorDiaDia.Text = "Às vezes";
                    break;
                case 4:
                    lblDorDiaDia.Text = "Frequentemente";
                    break;
                case 5:
                    lblDorDiaDia.Text = "Sempre";
                    break;
                case 6:
                    lblDorDiaDia.Text = "Não Avaliado";
                    break;
            }

            switch (objAnamnese.NR_HAB_6)
            {
                case 1:
                    lblVontadeLazer.Text = "Sempre";
                    break;
                case 2:
                    lblVontadeLazer.Text = "Frequentemente";
                    break;
                case 3:
                    lblVontadeLazer.Text = "Às vezes";
                    break;
                case 4:
                    lblVontadeLazer.Text = "Raramente";
                    break;
                case 5:
                    lblVontadeLazer.Text = "Nunca";
                    break;
                case 6:
                    lblVontadeLazer.Text = "Não Avaliado";
                    break;
            }

            switch (objAnamnese.NR_HAB_7)
            {
                case 1:
                    lblDifDormir.Text = "Sempre";
                    break;
                case 2:
                    lblDifDormir.Text = "Frequentemente";
                    break;
                case 3:
                    lblDifDormir.Text = "Às vezes";
                    break;
                case 4:
                    lblDifDormir.Text = "Raramente";
                    break;
                case 5:
                    lblDifDormir.Text = "Nunca";
                    break;
                case 6:
                    lblDifDormir.Text = "Não Avaliado";
                    break;
            }

            switch (objAnamnese.NR_HAB_8)
            {
                case 1:
                    lblRemedioDormir.Text = "Sempre";
                    break;
                case 2:
                    lblRemedioDormir.Text = "Frequentemente";
                    break;
                case 3:
                    lblRemedioDormir.Text = "Às vezes";
                    break;
                case 4:
                    lblRemedioDormir.Text = "Raramente";
                    break;
                case 5:
                    lblRemedioDormir.Text = "Nunca";
                    break;
                case 6:
                    lblRemedioDormir.Text = "Não Avaliado";
                    break;
            }

            switch (objAnamnese.NR_HAB_9)
            {
                case 1:
                    lblMemoria.Text = "Sempre";
                    break;
                case 2:
                    lblMemoria.Text = "Frequentemente";
                    break;
                case 3:
                    lblMemoria.Text = "Às vezes";
                    break;
                case 4:
                    lblMemoria.Text = "Raramente";
                    break;
                case 5:
                    lblMemoria.Text = "Nunca";
                    break;
                case 6:
                    lblMemoria.Text = "Não Avaliado";
                    break;
            }

            switch (objAnamnese.NR_HAB_10)
            {
                case 1:
                    lblVisual.Text = "Sempre";
                    break;
                case 2:
                    lblVisual.Text = "Frequentemente";
                    break;
                case 3:
                    lblVisual.Text = "Às vezes";
                    break;
                case 4:
                    lblVisual.Text = "Raramente";
                    break;
                case 5:
                    lblVisual.Text = "Nunca";
                    break;
                case 6:
                    lblVisual.Text = "Não Avaliado";
                    break;
            }

            switch (objAnamnese.NR_HAB_13)
            {
                case 1:
                    lblEscutar.Text = "Sempre";
                    break;
                case 2:
                    lblEscutar.Text = "Frequentemente";
                    break;
                case 3:
                    lblEscutar.Text = "Às vezes";
                    break;
                case 4:
                    lblEscutar.Text = "Raramente";
                    break;
                case 5:
                    lblEscutar.Text = "Nunca";
                    break;
                case 6:
                    lblEscutar.Text = "Não Avaliado";
                    break;
            }

            switch (objAnamnese.NR_HAB_12)
            {
                case 1:
                    lblBucal.Text = "Adequada";
                    break;
                case 2:
                    lblBucal.Text = "Inadequada";
                    break;
                case 3:
                    lblBucal.Text = "Não avaliado";
                    break;
                
            }



            lblPele.Text = objAnamnese.NR_HAB_11_1 == 1 ? "íntegra. " : "";
            lblPele.Text += objAnamnese.NR_HAB_11_2 == 1 ? "hidratada. " : "";
            lblPele.Text += objAnamnese.NR_HAB_11_3 == 1 ? "descamativa. " : "";
            lblPele.Text += objAnamnese.NR_HAB_11_4 == 1 ? "não-íntegra. " : "";
            lblPele.Text += objAnamnese.NR_HAB_11_5 == 1 ? "seca. " : "";
            lblPele.Text += objAnamnese.NR_HAB_11_6 == 1 ? "hiperemia. " : "";


            switch (objAnamnese.NR_HAB_14)
            {
                case 1:
                    lblHigieneCorp.Text = "Adequada";
                    break;
                case 2:
                    lblHigieneCorp.Text = "Inadequada";
                    break;
                case 3:
                    lblHigieneCorp.Text = "Não avaliado";
                    break;

            }

            switch (objAnamnese.NR_ALI_1)
            {
                case 1:
                    lblAlimentacao.Text = "1 vez";
                    break;
                case 2:
                    lblAlimentacao.Text = "2 vezes";
                    break;
                case 3:
                    lblAlimentacao.Text = "3 vezes";
                    break;
                case 4:
                    lblAlimentacao.Text = "4 vezes";
                    break;
                case 5:
                    lblAlimentacao.Text = "5 vezes";
                    break;
                case 6:
                    lblAlimentacao.Text = "Mais de 5 vezes";
                    break;
                case 7:
                    lblAlimentacao.Text = "Não avaliado";
                    break;

            }

            switch (objAnamnese.NR_ALI_2)
            {
                case 1:
                    lblEngasgo.Text = "Sempre";
                    break;
                case 2:
                    lblEngasgo.Text = "Frequentemente";
                    break;
                case 3:
                    lblEngasgo.Text = "Às vezes";
                    break;
                case 4:
                    lblEngasgo.Text = "Raramente";
                    break;
                case 5:
                    lblEngasgo.Text = "Nunca";
                    break;
                case 6:
                    lblEngasgo.Text = "Não Avaliado";
                    break;
            }

            switch (objAnamnese.NR_ALI_3)
            {
                case 1:
                    lblEstNutri.Text = "Bom";
                    break;
                case 2:
                    lblEstNutri.Text = "Emagrecido";
                    break;
                case 3:
                    lblEstNutri.Text = "Acima do peso";
                    break;
                case 4:
                    lblEstNutri.Text = "Obeso";
                    break;
                case 5:
                    lblEstNutri.Text = "Não Avaliado";
                    break;
            }
            

            lblLiquido.Text = objAnamnese.DS_ALI_4;

            switch (objAnamnese.NR_ALI_5)
            {
                case 1:
                    lblAbdome.Text = "Normotenso";
                    break;
                case 2:
                    lblAbdome.Text = "Tenso";
                    break;
                case 3:
                    lblAbdome.Text = "Não Avaliado";
                    break;
               
            }

            switch (objAnamnese.NR_ALI_5_1)
            {
                case 1:
                    lblAbdomeRha.Text = "Presente";
                    break;
                case 2:
                    lblAbdomeRha.Text = "Diminuído";
                    break;
                case 3:
                    lblAbdomeRha.Text = "Ausente";
                    break;
                case 4:
                    lblAbdomeRha.Text = "Não Avaliado";
                    break;
            }

            switch (objAnamnese.NR_ALI_5_2)
            {
                case 1:
                    lblVisceromegalia.Text = "Sim";
                    break;
                case 2:
                    lblVisceromegalia.Text = "Não";
                    break;
                case 3:
                    lblVisceromegalia.Text = "Não Avaliado";
                    break;
            }

            switch (objAnamnese.NR_ALI_5_3)
            {
                case 1:
                    lblMassaPalpavel.Text = "Sim";
                    break;
                case 2:
                    lblMassaPalpavel.Text = "Não";
                    break;
                case 3:
                    lblMassaPalpavel.Text = "Não Avaliado";
                    break;
            }
            
            lblObsLocal.Text = objAnamnese.NR_ALI_5_OBS;

            switch (objAnamnese.NR_ALI_6)
            {
                case 1:
                    lblCorUrina.Text = "Normal";
                    break;
                case 2:
                    lblCorUrina.Text = "Concentrada";
                    break;
                case 3:
                    lblCorUrina.Text = "Hematúrica";
                    break;
                case 4:
                    lblCorUrina.Text = "Colúrica";
                    break;
                case 5:
                    lblCorUrina.Text = "Não Avaliado";
                    break;
            }

            switch (objAnamnese.NR_ALI_7)
            {
                case 1:
                    lblEliminacaoUrinaria.Text = "Banheiro";
                    break;
                case 2:
                    lblEliminacaoUrinaria.Text = "Comadre / Marreco";
                    break;
                case 3:
                    lblEliminacaoUrinaria.Text = "Fralda";
                    break;
                case 4:
                    lblEliminacaoUrinaria.Text = "No leito";
                    break;
                case 5:
                    lblEliminacaoUrinaria.Text = "Coletor";
                    break;
                case 6:
                    lblEliminacaoUrinaria.Text = "SVA";
                    break;
                case 7:
                    lblEliminacaoUrinaria.Text = "SVD";
                    break;
                case 8:
                    lblEliminacaoUrinaria.Text = "Cistostomia";
                    break;
                case 9:
                    lblEliminacaoUrinaria.Text = "Não se aplica";
                    break;
                case 10:
                    lblEliminacaoUrinaria.Text = "Não Avaliado";
                    break;
            }

           
           
            lblDebUrinario.Text = objAnamnese.NR_ALI_7_1.ToString();

            switch (objAnamnese.NR_ALI_8)
            {
                case 1:
                    lblConsiFezes.Text = "Seca";
                    break;
                case 2:
                    lblConsiFezes.Text = "Pastosa/Macia";
                    break;
                case 3:
                    lblConsiFezes.Text = "Líquida";
                    break;
                case 4:
                    lblConsiFezes.Text = "Não Avaliado";
                    break;
            }

            switch (objAnamnese.NR_ALI_9)
            {
                case 1:
                    lblEliminacaoIntestinal.Text = "Banheiro";
                    break;
                case 2:
                    lblEliminacaoIntestinal.Text = "Comadre";
                    break;
                case 3:
                    lblEliminacaoIntestinal.Text = "Fralda";
                    break;
                case 4:
                    lblEliminacaoIntestinal.Text = "Ostomia";
                    break;
                case 5:
                    lblEliminacaoIntestinal.Text = "No leito";
                    break;
                case 6:
                    lblEliminacaoIntestinal.Text = "Não Avaliado";
                    break;
            }

            switch (objAnamnese.NR_ALI_9_1)
            {
                case 1:
                    lblFreqIntestinal.Text = "Diária";
                    break;
                case 2:
                    lblFreqIntestinal.Text = "Dias alternados";
                    break;
                case 3:
                    lblFreqIntestinal.Text = "A cada três dias";
                    break;
                case 4:
                    lblFreqIntestinal.Text = "Mais de quatro dias";
                    break;
                case 5:
                    lblFreqIntestinal.Text = "Não Avaliado";
                    break;
            }
           

            if (objAnamnese.NR_ALI_10_PLEGIA_MMSS == 1) ckbMmssPlegia.Checked = true;
            if (objAnamnese.NR_ALI_10_PARESIA_MMSS == 1) ckbMmssParesia.Checked = true;
            if (objAnamnese.NR_ALI_10_PARESTIA_MMSS == 1) ckbMmssParestia.Checked = true;
            if (objAnamnese.NR_ALI_10_AMPUTACAO_MMSS == 1) ckbMmssAmputacao.Checked = true;
            if (objAnamnese.NR_ALI_10_PLEGIA_MMII == 1) ckbMmiiPlegia.Checked = true;
            if (objAnamnese.NR_ALI_10_PARESIA_MMII == 1) ckbMmiiParesia.Checked = true;
            if (objAnamnese.NR_ALI_10_PARESTIA_MMII == 1) ckbMmiiParestia.Checked = true;
            if (objAnamnese.NR_ALI_10_AMPUTACAO_MMII == 1) ckbMmiiAmputacao.Checked = true;

            switch (objAnamnese.NR_AVALIACAO)
            {
                case 1:
                    lblAvaliacaoAnamnese.Text = "Usuário com problema de saúde crônico compensado";
                    break;
                case 2:
                    lblAvaliacaoAnamnese.Text = "Usuário com maior grau de comprometimento clínico (agudo ou crônico descompensado)";
                    break;
                case 3:
                    lblAvaliacaoAnamnese.Text = "Não Avaliado";
                    break;
            }
           
            lblJustificativa.Text = objAnamnese.DS_AVALIACAO_JUSTIFICATIVA;

            lblPa.Text = objAnamnese.DS_DADOS_PA;
            lblFr.Text = objAnamnese.DS_DADOS_FR;
            lblTemp.Text = objAnamnese.DS_DADOS_T;
            lblPressao.Text = objAnamnese.DS_DADOS_P;
            lblAp.Text = objAnamnese.DS_DADOS_AP;
            lblAc.Text = objAnamnese.DS_DADOS_AC;
        }
    }
}